package org.ycx.doc.dao.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class DocParamsExample implements Serializable {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private static final long serialVersionUID = 1L;

    public DocParamsExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria implements Serializable {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andParamIdIsNull() {
            addCriterion("PARAM_ID is null");
            return (Criteria) this;
        }

        public Criteria andParamIdIsNotNull() {
            addCriterion("PARAM_ID is not null");
            return (Criteria) this;
        }

        public Criteria andParamIdEqualTo(Integer value) {
            addCriterion("PARAM_ID =", value, "paramId");
            return (Criteria) this;
        }

        public Criteria andParamIdNotEqualTo(Integer value) {
            addCriterion("PARAM_ID <>", value, "paramId");
            return (Criteria) this;
        }

        public Criteria andParamIdGreaterThan(Integer value) {
            addCriterion("PARAM_ID >", value, "paramId");
            return (Criteria) this;
        }

        public Criteria andParamIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("PARAM_ID >=", value, "paramId");
            return (Criteria) this;
        }

        public Criteria andParamIdLessThan(Integer value) {
            addCriterion("PARAM_ID <", value, "paramId");
            return (Criteria) this;
        }

        public Criteria andParamIdLessThanOrEqualTo(Integer value) {
            addCriterion("PARAM_ID <=", value, "paramId");
            return (Criteria) this;
        }

        public Criteria andParamIdIn(List<Integer> values) {
            addCriterion("PARAM_ID in", values, "paramId");
            return (Criteria) this;
        }

        public Criteria andParamIdNotIn(List<Integer> values) {
            addCriterion("PARAM_ID not in", values, "paramId");
            return (Criteria) this;
        }

        public Criteria andParamIdBetween(Integer value1, Integer value2) {
            addCriterion("PARAM_ID between", value1, value2, "paramId");
            return (Criteria) this;
        }

        public Criteria andParamIdNotBetween(Integer value1, Integer value2) {
            addCriterion("PARAM_ID not between", value1, value2, "paramId");
            return (Criteria) this;
        }

        public Criteria andModuleIdIsNull() {
            addCriterion("MODULE_ID is null");
            return (Criteria) this;
        }

        public Criteria andModuleIdIsNotNull() {
            addCriterion("MODULE_ID is not null");
            return (Criteria) this;
        }

        public Criteria andModuleIdEqualTo(Integer value) {
            addCriterion("MODULE_ID =", value, "moduleId");
            return (Criteria) this;
        }

        public Criteria andModuleIdNotEqualTo(Integer value) {
            addCriterion("MODULE_ID <>", value, "moduleId");
            return (Criteria) this;
        }

        public Criteria andModuleIdGreaterThan(Integer value) {
            addCriterion("MODULE_ID >", value, "moduleId");
            return (Criteria) this;
        }

        public Criteria andModuleIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("MODULE_ID >=", value, "moduleId");
            return (Criteria) this;
        }

        public Criteria andModuleIdLessThan(Integer value) {
            addCriterion("MODULE_ID <", value, "moduleId");
            return (Criteria) this;
        }

        public Criteria andModuleIdLessThanOrEqualTo(Integer value) {
            addCriterion("MODULE_ID <=", value, "moduleId");
            return (Criteria) this;
        }

        public Criteria andModuleIdIn(List<Integer> values) {
            addCriterion("MODULE_ID in", values, "moduleId");
            return (Criteria) this;
        }

        public Criteria andModuleIdNotIn(List<Integer> values) {
            addCriterion("MODULE_ID not in", values, "moduleId");
            return (Criteria) this;
        }

        public Criteria andModuleIdBetween(Integer value1, Integer value2) {
            addCriterion("MODULE_ID between", value1, value2, "moduleId");
            return (Criteria) this;
        }

        public Criteria andModuleIdNotBetween(Integer value1, Integer value2) {
            addCriterion("MODULE_ID not between", value1, value2, "moduleId");
            return (Criteria) this;
        }

        public Criteria andParamNameIsNull() {
            addCriterion("PARAM_NAME is null");
            return (Criteria) this;
        }

        public Criteria andParamNameIsNotNull() {
            addCriterion("PARAM_NAME is not null");
            return (Criteria) this;
        }

        public Criteria andParamNameEqualTo(String value) {
            addCriterion("PARAM_NAME =", value, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameNotEqualTo(String value) {
            addCriterion("PARAM_NAME <>", value, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameGreaterThan(String value) {
            addCriterion("PARAM_NAME >", value, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameGreaterThanOrEqualTo(String value) {
            addCriterion("PARAM_NAME >=", value, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameLessThan(String value) {
            addCriterion("PARAM_NAME <", value, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameLessThanOrEqualTo(String value) {
            addCriterion("PARAM_NAME <=", value, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameLike(String value) {
            addCriterion("PARAM_NAME like", value, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameNotLike(String value) {
            addCriterion("PARAM_NAME not like", value, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameIn(List<String> values) {
            addCriterion("PARAM_NAME in", values, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameNotIn(List<String> values) {
            addCriterion("PARAM_NAME not in", values, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameBetween(String value1, String value2) {
            addCriterion("PARAM_NAME between", value1, value2, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameNotBetween(String value1, String value2) {
            addCriterion("PARAM_NAME not between", value1, value2, "paramName");
            return (Criteria) this;
        }

        public Criteria andReqPositionIsNull() {
            addCriterion("REQ_POSITION is null");
            return (Criteria) this;
        }

        public Criteria andReqPositionIsNotNull() {
            addCriterion("REQ_POSITION is not null");
            return (Criteria) this;
        }

        public Criteria andReqPositionEqualTo(Integer value) {
            addCriterion("REQ_POSITION =", value, "reqPosition");
            return (Criteria) this;
        }

        public Criteria andReqPositionNotEqualTo(Integer value) {
            addCriterion("REQ_POSITION <>", value, "reqPosition");
            return (Criteria) this;
        }

        public Criteria andReqPositionGreaterThan(Integer value) {
            addCriterion("REQ_POSITION >", value, "reqPosition");
            return (Criteria) this;
        }

        public Criteria andReqPositionGreaterThanOrEqualTo(Integer value) {
            addCriterion("REQ_POSITION >=", value, "reqPosition");
            return (Criteria) this;
        }

        public Criteria andReqPositionLessThan(Integer value) {
            addCriterion("REQ_POSITION <", value, "reqPosition");
            return (Criteria) this;
        }

        public Criteria andReqPositionLessThanOrEqualTo(Integer value) {
            addCriterion("REQ_POSITION <=", value, "reqPosition");
            return (Criteria) this;
        }

        public Criteria andReqPositionIn(List<Integer> values) {
            addCriterion("REQ_POSITION in", values, "reqPosition");
            return (Criteria) this;
        }

        public Criteria andReqPositionNotIn(List<Integer> values) {
            addCriterion("REQ_POSITION not in", values, "reqPosition");
            return (Criteria) this;
        }

        public Criteria andReqPositionBetween(Integer value1, Integer value2) {
            addCriterion("REQ_POSITION between", value1, value2, "reqPosition");
            return (Criteria) this;
        }

        public Criteria andReqPositionNotBetween(Integer value1, Integer value2) {
            addCriterion("REQ_POSITION not between", value1, value2, "reqPosition");
            return (Criteria) this;
        }

        public Criteria andParamDescIsNull() {
            addCriterion("PARAM_DESC is null");
            return (Criteria) this;
        }

        public Criteria andParamDescIsNotNull() {
            addCriterion("PARAM_DESC is not null");
            return (Criteria) this;
        }

        public Criteria andParamDescEqualTo(String value) {
            addCriterion("PARAM_DESC =", value, "paramDesc");
            return (Criteria) this;
        }

        public Criteria andParamDescNotEqualTo(String value) {
            addCriterion("PARAM_DESC <>", value, "paramDesc");
            return (Criteria) this;
        }

        public Criteria andParamDescGreaterThan(String value) {
            addCriterion("PARAM_DESC >", value, "paramDesc");
            return (Criteria) this;
        }

        public Criteria andParamDescGreaterThanOrEqualTo(String value) {
            addCriterion("PARAM_DESC >=", value, "paramDesc");
            return (Criteria) this;
        }

        public Criteria andParamDescLessThan(String value) {
            addCriterion("PARAM_DESC <", value, "paramDesc");
            return (Criteria) this;
        }

        public Criteria andParamDescLessThanOrEqualTo(String value) {
            addCriterion("PARAM_DESC <=", value, "paramDesc");
            return (Criteria) this;
        }

        public Criteria andParamDescLike(String value) {
            addCriterion("PARAM_DESC like", value, "paramDesc");
            return (Criteria) this;
        }

        public Criteria andParamDescNotLike(String value) {
            addCriterion("PARAM_DESC not like", value, "paramDesc");
            return (Criteria) this;
        }

        public Criteria andParamDescIn(List<String> values) {
            addCriterion("PARAM_DESC in", values, "paramDesc");
            return (Criteria) this;
        }

        public Criteria andParamDescNotIn(List<String> values) {
            addCriterion("PARAM_DESC not in", values, "paramDesc");
            return (Criteria) this;
        }

        public Criteria andParamDescBetween(String value1, String value2) {
            addCriterion("PARAM_DESC between", value1, value2, "paramDesc");
            return (Criteria) this;
        }

        public Criteria andParamDescNotBetween(String value1, String value2) {
            addCriterion("PARAM_DESC not between", value1, value2, "paramDesc");
            return (Criteria) this;
        }

        public Criteria andReqRespIsNull() {
            addCriterion("REQ_RESP is null");
            return (Criteria) this;
        }

        public Criteria andReqRespIsNotNull() {
            addCriterion("REQ_RESP is not null");
            return (Criteria) this;
        }

        public Criteria andReqRespEqualTo(Integer value) {
            addCriterion("REQ_RESP =", value, "reqResp");
            return (Criteria) this;
        }

        public Criteria andReqRespNotEqualTo(Integer value) {
            addCriterion("REQ_RESP <>", value, "reqResp");
            return (Criteria) this;
        }

        public Criteria andReqRespGreaterThan(Integer value) {
            addCriterion("REQ_RESP >", value, "reqResp");
            return (Criteria) this;
        }

        public Criteria andReqRespGreaterThanOrEqualTo(Integer value) {
            addCriterion("REQ_RESP >=", value, "reqResp");
            return (Criteria) this;
        }

        public Criteria andReqRespLessThan(Integer value) {
            addCriterion("REQ_RESP <", value, "reqResp");
            return (Criteria) this;
        }

        public Criteria andReqRespLessThanOrEqualTo(Integer value) {
            addCriterion("REQ_RESP <=", value, "reqResp");
            return (Criteria) this;
        }

        public Criteria andReqRespIn(List<Integer> values) {
            addCriterion("REQ_RESP in", values, "reqResp");
            return (Criteria) this;
        }

        public Criteria andReqRespNotIn(List<Integer> values) {
            addCriterion("REQ_RESP not in", values, "reqResp");
            return (Criteria) this;
        }

        public Criteria andReqRespBetween(Integer value1, Integer value2) {
            addCriterion("REQ_RESP between", value1, value2, "reqResp");
            return (Criteria) this;
        }

        public Criteria andReqRespNotBetween(Integer value1, Integer value2) {
            addCriterion("REQ_RESP not between", value1, value2, "reqResp");
            return (Criteria) this;
        }

        public Criteria andParamTypesIsNull() {
            addCriterion("PARAM_TYPES is null");
            return (Criteria) this;
        }

        public Criteria andParamTypesIsNotNull() {
            addCriterion("PARAM_TYPES is not null");
            return (Criteria) this;
        }

        public Criteria andParamTypesEqualTo(Integer value) {
            addCriterion("PARAM_TYPES =", value, "paramTypes");
            return (Criteria) this;
        }

        public Criteria andParamTypesNotEqualTo(Integer value) {
            addCriterion("PARAM_TYPES <>", value, "paramTypes");
            return (Criteria) this;
        }

        public Criteria andParamTypesGreaterThan(Integer value) {
            addCriterion("PARAM_TYPES >", value, "paramTypes");
            return (Criteria) this;
        }

        public Criteria andParamTypesGreaterThanOrEqualTo(Integer value) {
            addCriterion("PARAM_TYPES >=", value, "paramTypes");
            return (Criteria) this;
        }

        public Criteria andParamTypesLessThan(Integer value) {
            addCriterion("PARAM_TYPES <", value, "paramTypes");
            return (Criteria) this;
        }

        public Criteria andParamTypesLessThanOrEqualTo(Integer value) {
            addCriterion("PARAM_TYPES <=", value, "paramTypes");
            return (Criteria) this;
        }

        public Criteria andParamTypesIn(List<Integer> values) {
            addCriterion("PARAM_TYPES in", values, "paramTypes");
            return (Criteria) this;
        }

        public Criteria andParamTypesNotIn(List<Integer> values) {
            addCriterion("PARAM_TYPES not in", values, "paramTypes");
            return (Criteria) this;
        }

        public Criteria andParamTypesBetween(Integer value1, Integer value2) {
            addCriterion("PARAM_TYPES between", value1, value2, "paramTypes");
            return (Criteria) this;
        }

        public Criteria andParamTypesNotBetween(Integer value1, Integer value2) {
            addCriterion("PARAM_TYPES not between", value1, value2, "paramTypes");
            return (Criteria) this;
        }

        public Criteria andParamNotesIsNull() {
            addCriterion("PARAM_NOTES is null");
            return (Criteria) this;
        }

        public Criteria andParamNotesIsNotNull() {
            addCriterion("PARAM_NOTES is not null");
            return (Criteria) this;
        }

        public Criteria andParamNotesEqualTo(String value) {
            addCriterion("PARAM_NOTES =", value, "paramNotes");
            return (Criteria) this;
        }

        public Criteria andParamNotesNotEqualTo(String value) {
            addCriterion("PARAM_NOTES <>", value, "paramNotes");
            return (Criteria) this;
        }

        public Criteria andParamNotesGreaterThan(String value) {
            addCriterion("PARAM_NOTES >", value, "paramNotes");
            return (Criteria) this;
        }

        public Criteria andParamNotesGreaterThanOrEqualTo(String value) {
            addCriterion("PARAM_NOTES >=", value, "paramNotes");
            return (Criteria) this;
        }

        public Criteria andParamNotesLessThan(String value) {
            addCriterion("PARAM_NOTES <", value, "paramNotes");
            return (Criteria) this;
        }

        public Criteria andParamNotesLessThanOrEqualTo(String value) {
            addCriterion("PARAM_NOTES <=", value, "paramNotes");
            return (Criteria) this;
        }

        public Criteria andParamNotesLike(String value) {
            addCriterion("PARAM_NOTES like", value, "paramNotes");
            return (Criteria) this;
        }

        public Criteria andParamNotesNotLike(String value) {
            addCriterion("PARAM_NOTES not like", value, "paramNotes");
            return (Criteria) this;
        }

        public Criteria andParamNotesIn(List<String> values) {
            addCriterion("PARAM_NOTES in", values, "paramNotes");
            return (Criteria) this;
        }

        public Criteria andParamNotesNotIn(List<String> values) {
            addCriterion("PARAM_NOTES not in", values, "paramNotes");
            return (Criteria) this;
        }

        public Criteria andParamNotesBetween(String value1, String value2) {
            addCriterion("PARAM_NOTES between", value1, value2, "paramNotes");
            return (Criteria) this;
        }

        public Criteria andParamNotesNotBetween(String value1, String value2) {
            addCriterion("PARAM_NOTES not between", value1, value2, "paramNotes");
            return (Criteria) this;
        }

        public Criteria andParamMockIsNull() {
            addCriterion("PARAM_MOCK is null");
            return (Criteria) this;
        }

        public Criteria andParamMockIsNotNull() {
            addCriterion("PARAM_MOCK is not null");
            return (Criteria) this;
        }

        public Criteria andParamMockEqualTo(String value) {
            addCriterion("PARAM_MOCK =", value, "paramMock");
            return (Criteria) this;
        }

        public Criteria andParamMockNotEqualTo(String value) {
            addCriterion("PARAM_MOCK <>", value, "paramMock");
            return (Criteria) this;
        }

        public Criteria andParamMockGreaterThan(String value) {
            addCriterion("PARAM_MOCK >", value, "paramMock");
            return (Criteria) this;
        }

        public Criteria andParamMockGreaterThanOrEqualTo(String value) {
            addCriterion("PARAM_MOCK >=", value, "paramMock");
            return (Criteria) this;
        }

        public Criteria andParamMockLessThan(String value) {
            addCriterion("PARAM_MOCK <", value, "paramMock");
            return (Criteria) this;
        }

        public Criteria andParamMockLessThanOrEqualTo(String value) {
            addCriterion("PARAM_MOCK <=", value, "paramMock");
            return (Criteria) this;
        }

        public Criteria andParamMockLike(String value) {
            addCriterion("PARAM_MOCK like", value, "paramMock");
            return (Criteria) this;
        }

        public Criteria andParamMockNotLike(String value) {
            addCriterion("PARAM_MOCK not like", value, "paramMock");
            return (Criteria) this;
        }

        public Criteria andParamMockIn(List<String> values) {
            addCriterion("PARAM_MOCK in", values, "paramMock");
            return (Criteria) this;
        }

        public Criteria andParamMockNotIn(List<String> values) {
            addCriterion("PARAM_MOCK not in", values, "paramMock");
            return (Criteria) this;
        }

        public Criteria andParamMockBetween(String value1, String value2) {
            addCriterion("PARAM_MOCK between", value1, value2, "paramMock");
            return (Criteria) this;
        }

        public Criteria andParamMockNotBetween(String value1, String value2) {
            addCriterion("PARAM_MOCK not between", value1, value2, "paramMock");
            return (Criteria) this;
        }

        public Criteria andParamVersionIsNull() {
            addCriterion("PARAM_VERSION is null");
            return (Criteria) this;
        }

        public Criteria andParamVersionIsNotNull() {
            addCriterion("PARAM_VERSION is not null");
            return (Criteria) this;
        }

        public Criteria andParamVersionEqualTo(Integer value) {
            addCriterion("PARAM_VERSION =", value, "paramVersion");
            return (Criteria) this;
        }

        public Criteria andParamVersionNotEqualTo(Integer value) {
            addCriterion("PARAM_VERSION <>", value, "paramVersion");
            return (Criteria) this;
        }

        public Criteria andParamVersionGreaterThan(Integer value) {
            addCriterion("PARAM_VERSION >", value, "paramVersion");
            return (Criteria) this;
        }

        public Criteria andParamVersionGreaterThanOrEqualTo(Integer value) {
            addCriterion("PARAM_VERSION >=", value, "paramVersion");
            return (Criteria) this;
        }

        public Criteria andParamVersionLessThan(Integer value) {
            addCriterion("PARAM_VERSION <", value, "paramVersion");
            return (Criteria) this;
        }

        public Criteria andParamVersionLessThanOrEqualTo(Integer value) {
            addCriterion("PARAM_VERSION <=", value, "paramVersion");
            return (Criteria) this;
        }

        public Criteria andParamVersionIn(List<Integer> values) {
            addCriterion("PARAM_VERSION in", values, "paramVersion");
            return (Criteria) this;
        }

        public Criteria andParamVersionNotIn(List<Integer> values) {
            addCriterion("PARAM_VERSION not in", values, "paramVersion");
            return (Criteria) this;
        }

        public Criteria andParamVersionBetween(Integer value1, Integer value2) {
            addCriterion("PARAM_VERSION between", value1, value2, "paramVersion");
            return (Criteria) this;
        }

        public Criteria andParamVersionNotBetween(Integer value1, Integer value2) {
            addCriterion("PARAM_VERSION not between", value1, value2, "paramVersion");
            return (Criteria) this;
        }

        public Criteria andCreateTsIsNull() {
            addCriterion("CREATE_TS is null");
            return (Criteria) this;
        }

        public Criteria andCreateTsIsNotNull() {
            addCriterion("CREATE_TS is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTsEqualTo(Date value) {
            addCriterionForJDBCDate("CREATE_TS =", value, "createTs");
            return (Criteria) this;
        }

        public Criteria andCreateTsNotEqualTo(Date value) {
            addCriterionForJDBCDate("CREATE_TS <>", value, "createTs");
            return (Criteria) this;
        }

        public Criteria andCreateTsGreaterThan(Date value) {
            addCriterionForJDBCDate("CREATE_TS >", value, "createTs");
            return (Criteria) this;
        }

        public Criteria andCreateTsGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("CREATE_TS >=", value, "createTs");
            return (Criteria) this;
        }

        public Criteria andCreateTsLessThan(Date value) {
            addCriterionForJDBCDate("CREATE_TS <", value, "createTs");
            return (Criteria) this;
        }

        public Criteria andCreateTsLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("CREATE_TS <=", value, "createTs");
            return (Criteria) this;
        }

        public Criteria andCreateTsIn(List<Date> values) {
            addCriterionForJDBCDate("CREATE_TS in", values, "createTs");
            return (Criteria) this;
        }

        public Criteria andCreateTsNotIn(List<Date> values) {
            addCriterionForJDBCDate("CREATE_TS not in", values, "createTs");
            return (Criteria) this;
        }

        public Criteria andCreateTsBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("CREATE_TS between", value1, value2, "createTs");
            return (Criteria) this;
        }

        public Criteria andCreateTsNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("CREATE_TS not between", value1, value2, "createTs");
            return (Criteria) this;
        }

        public Criteria andCreateUidIsNull() {
            addCriterion("CREATE_UID is null");
            return (Criteria) this;
        }

        public Criteria andCreateUidIsNotNull() {
            addCriterion("CREATE_UID is not null");
            return (Criteria) this;
        }

        public Criteria andCreateUidEqualTo(Integer value) {
            addCriterion("CREATE_UID =", value, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidNotEqualTo(Integer value) {
            addCriterion("CREATE_UID <>", value, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidGreaterThan(Integer value) {
            addCriterion("CREATE_UID >", value, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidGreaterThanOrEqualTo(Integer value) {
            addCriterion("CREATE_UID >=", value, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidLessThan(Integer value) {
            addCriterion("CREATE_UID <", value, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidLessThanOrEqualTo(Integer value) {
            addCriterion("CREATE_UID <=", value, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidIn(List<Integer> values) {
            addCriterion("CREATE_UID in", values, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidNotIn(List<Integer> values) {
            addCriterion("CREATE_UID not in", values, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidBetween(Integer value1, Integer value2) {
            addCriterion("CREATE_UID between", value1, value2, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidNotBetween(Integer value1, Integer value2) {
            addCriterion("CREATE_UID not between", value1, value2, "createUid");
            return (Criteria) this;
        }

        public Criteria andUpdateTsIsNull() {
            addCriterion("UPDATE_TS is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTsIsNotNull() {
            addCriterion("UPDATE_TS is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTsEqualTo(Date value) {
            addCriterionForJDBCDate("UPDATE_TS =", value, "updateTs");
            return (Criteria) this;
        }

        public Criteria andUpdateTsNotEqualTo(Date value) {
            addCriterionForJDBCDate("UPDATE_TS <>", value, "updateTs");
            return (Criteria) this;
        }

        public Criteria andUpdateTsGreaterThan(Date value) {
            addCriterionForJDBCDate("UPDATE_TS >", value, "updateTs");
            return (Criteria) this;
        }

        public Criteria andUpdateTsGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("UPDATE_TS >=", value, "updateTs");
            return (Criteria) this;
        }

        public Criteria andUpdateTsLessThan(Date value) {
            addCriterionForJDBCDate("UPDATE_TS <", value, "updateTs");
            return (Criteria) this;
        }

        public Criteria andUpdateTsLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("UPDATE_TS <=", value, "updateTs");
            return (Criteria) this;
        }

        public Criteria andUpdateTsIn(List<Date> values) {
            addCriterionForJDBCDate("UPDATE_TS in", values, "updateTs");
            return (Criteria) this;
        }

        public Criteria andUpdateTsNotIn(List<Date> values) {
            addCriterionForJDBCDate("UPDATE_TS not in", values, "updateTs");
            return (Criteria) this;
        }

        public Criteria andUpdateTsBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("UPDATE_TS between", value1, value2, "updateTs");
            return (Criteria) this;
        }

        public Criteria andUpdateTsNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("UPDATE_TS not between", value1, value2, "updateTs");
            return (Criteria) this;
        }

        public Criteria andUpdateUidIsNull() {
            addCriterion("UPDATE_UID is null");
            return (Criteria) this;
        }

        public Criteria andUpdateUidIsNotNull() {
            addCriterion("UPDATE_UID is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateUidEqualTo(Integer value) {
            addCriterion("UPDATE_UID =", value, "updateUid");
            return (Criteria) this;
        }

        public Criteria andUpdateUidNotEqualTo(Integer value) {
            addCriterion("UPDATE_UID <>", value, "updateUid");
            return (Criteria) this;
        }

        public Criteria andUpdateUidGreaterThan(Integer value) {
            addCriterion("UPDATE_UID >", value, "updateUid");
            return (Criteria) this;
        }

        public Criteria andUpdateUidGreaterThanOrEqualTo(Integer value) {
            addCriterion("UPDATE_UID >=", value, "updateUid");
            return (Criteria) this;
        }

        public Criteria andUpdateUidLessThan(Integer value) {
            addCriterion("UPDATE_UID <", value, "updateUid");
            return (Criteria) this;
        }

        public Criteria andUpdateUidLessThanOrEqualTo(Integer value) {
            addCriterion("UPDATE_UID <=", value, "updateUid");
            return (Criteria) this;
        }

        public Criteria andUpdateUidIn(List<Integer> values) {
            addCriterion("UPDATE_UID in", values, "updateUid");
            return (Criteria) this;
        }

        public Criteria andUpdateUidNotIn(List<Integer> values) {
            addCriterion("UPDATE_UID not in", values, "updateUid");
            return (Criteria) this;
        }

        public Criteria andUpdateUidBetween(Integer value1, Integer value2) {
            addCriterion("UPDATE_UID between", value1, value2, "updateUid");
            return (Criteria) this;
        }

        public Criteria andUpdateUidNotBetween(Integer value1, Integer value2) {
            addCriterion("UPDATE_UID not between", value1, value2, "updateUid");
            return (Criteria) this;
        }

        public Criteria andStatesIsNull() {
            addCriterion("STATES is null");
            return (Criteria) this;
        }

        public Criteria andStatesIsNotNull() {
            addCriterion("STATES is not null");
            return (Criteria) this;
        }

        public Criteria andStatesEqualTo(Integer value) {
            addCriterion("STATES =", value, "states");
            return (Criteria) this;
        }

        public Criteria andStatesNotEqualTo(Integer value) {
            addCriterion("STATES <>", value, "states");
            return (Criteria) this;
        }

        public Criteria andStatesGreaterThan(Integer value) {
            addCriterion("STATES >", value, "states");
            return (Criteria) this;
        }

        public Criteria andStatesGreaterThanOrEqualTo(Integer value) {
            addCriterion("STATES >=", value, "states");
            return (Criteria) this;
        }

        public Criteria andStatesLessThan(Integer value) {
            addCriterion("STATES <", value, "states");
            return (Criteria) this;
        }

        public Criteria andStatesLessThanOrEqualTo(Integer value) {
            addCriterion("STATES <=", value, "states");
            return (Criteria) this;
        }

        public Criteria andStatesIn(List<Integer> values) {
            addCriterion("STATES in", values, "states");
            return (Criteria) this;
        }

        public Criteria andStatesNotIn(List<Integer> values) {
            addCriterion("STATES not in", values, "states");
            return (Criteria) this;
        }

        public Criteria andStatesBetween(Integer value1, Integer value2) {
            addCriterion("STATES between", value1, value2, "states");
            return (Criteria) this;
        }

        public Criteria andStatesNotBetween(Integer value1, Integer value2) {
            addCriterion("STATES not between", value1, value2, "states");
            return (Criteria) this;
        }

        public Criteria andPidIsNull() {
            addCriterion("PID is null");
            return (Criteria) this;
        }

        public Criteria andPidIsNotNull() {
            addCriterion("PID is not null");
            return (Criteria) this;
        }

        public Criteria andPidEqualTo(Integer value) {
            addCriterion("PID =", value, "pid");
            return (Criteria) this;
        }

        public Criteria andPidNotEqualTo(Integer value) {
            addCriterion("PID <>", value, "pid");
            return (Criteria) this;
        }

        public Criteria andPidGreaterThan(Integer value) {
            addCriterion("PID >", value, "pid");
            return (Criteria) this;
        }

        public Criteria andPidGreaterThanOrEqualTo(Integer value) {
            addCriterion("PID >=", value, "pid");
            return (Criteria) this;
        }

        public Criteria andPidLessThan(Integer value) {
            addCriterion("PID <", value, "pid");
            return (Criteria) this;
        }

        public Criteria andPidLessThanOrEqualTo(Integer value) {
            addCriterion("PID <=", value, "pid");
            return (Criteria) this;
        }

        public Criteria andPidIn(List<Integer> values) {
            addCriterion("PID in", values, "pid");
            return (Criteria) this;
        }

        public Criteria andPidNotIn(List<Integer> values) {
            addCriterion("PID not in", values, "pid");
            return (Criteria) this;
        }

        public Criteria andPidBetween(Integer value1, Integer value2) {
            addCriterion("PID between", value1, value2, "pid");
            return (Criteria) this;
        }

        public Criteria andPidNotBetween(Integer value1, Integer value2) {
            addCriterion("PID not between", value1, value2, "pid");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria implements Serializable {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion implements Serializable {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}